package dao.interfaces;

import java.util.ArrayList;

import model.Competitie;
import model.Lid;
import model.Rekening;
import model.Team;
import model.Veld;
import model.Wedstrijd;
import model.interfaces.Artikel;

public interface Manager {

	public VeldDao getVeldDao();

	public CompetitieDao getCompetitieDao();

	public LidDao getLidDao();

	public ClubhuisDao getClubhuisDao();

	public void addLid(String naam, int leeftijd, String adres);

	public void veranderLid(String oudeNaam, String naam, int leeftijd,
			String adres);

	public void verwijderLid(String naam);

	public ArrayList<Lid> getLedenlijst();

	public ArrayList<Lid> getActieveLeden();

	public ArrayList<Lid> getRustendeLeden();

	public void veranderLidmaatschap(String naam, String lidmaatschap);

	public void koopArtikel(String naam, int soort);

	public String getAankoopGeschiedenis(String naam);

	public void meldLidAf(String lidNaam);

	public void reserveerVeld(int veldNr, String lidNaam);

	public void addVeld();

	public ArrayList<Veld> getOverzichtVanVelden();

	public void addNieuweCompetitie(String competitieNaam);

	public void addNieuwTeam(String teamNaam);

	public void addTeamAanCompetitie(String teamNaam, String competitieNaam);

	public void verwijderTeamUitCompetitie(String teamNaam,
			String competitieNaam);

	public void addLidAanTeam(String naam, String teamNaam);

	public void verwijderLidUitTeam(String naam, String teamNaam);

	public void AddTeamAanWedstrijd(String teamNaam, int wedstrijdNr);

	public void addWedstrijdAanCompetitie(int wedstrijdNr, String competitieNaam);

	public void addUitslagAanWedstrijd(int wedstrijdNr, int thuis, int uit);

	public String getStandVanCompetitie(String competitieNaam);

	public String getWedstrijdGeschiedenis(String naam);

	public String getWedstrijdOverzichtVanHuidigeWeek();

	public String getWedstrijdOverzichtVanVolgendeWeek();

	public void addRekening(String omschrijving, double bedrag);

	public void betaalRekening(String omschrijving);

	public ArrayList<Rekening> getOpenstaandeRekeningen();

	public String getFinancieelOverzicht();

	public void veranderPrijsVanArtikel(double prijs, int artikelNr);

	public void voegArtikelToe(int soort);

	public void verwijderArtikel(int soort);

	public ArrayList<Artikel> getArtikelen();

	public Lid getLid(String naam);

	public Wedstrijd getWedstrijd(int wedstrijdNr);

	public Team getTeam(String teamNaam);

	public Competitie getCompetitie(String competitieNaam);

	public Veld getVeld(int veldNr);

	public double getSaldo();

	public void getContributie();

	public void setVeldVrij(int veldNr);

	public ArrayList<Team> getTeams();

	public ArrayList<Competitie> getCompetities();
}
